<?php
class OrdersController 
	extends Zend_Controller_Action 
{
	
	public function closeAction()
	{
	
		echo "iniciado";
//		exit;
		
//		try {
		
		    $mapper = Delivery_Model_Factory::mapper('Pedidos');
			$pedidos = $mapper->toBeClosed();
			
			$mapper->loadNegocio( $pedidos );
			$mapper->loadCliente( $pedidos );
			
//			Zend_Debug::dump($pedidos);	
			
			/**
			 * cerrar y mandar mail
			 * 
			 */
			
			$creator = new Delivery_Model_PedidoCreator;
			$mailer = new Delivery_Model_Mailer;	
			
			foreach ( $pedidos as $pedido){
			
			    $creator->cancelar( $pedido );
				//Notificación al cliente
				$mail = new My_Mail();
			
				$mail->setTo( $pedido->getCliente()->email );
				
				$mail->negocio = $pedido->getNegocio();
				$mail->pedido = $pedido;
				$mail->cliente = $pedido->getCliente();
				$mail->lang = $this->lang;
				$mail->headerType = 'default';
				
				
				$mail->setSubject( sprintf($this->_helper->Translate('orderHasBeenCanceled'), $pedido->idPedido) );
				$mail->setScriptHtml("order-canceled-client-{$this->lang}.phtml", 'layout-html');		
		        
				$mailer->queue( $mail, Delivery_Model_Mailer::PRIORITY_HIGH);

				//Notificación al negocio
				$mail = new My_Mail();
			
				$mail->setTo( $pedido->getNegocio()->email );
				
				$mail->negocio = $pedido->getNegocio();
				$mail->pedido = $pedido;
				$mail->cliente = $pedido->getCliente();
				$mail->lang = $this->lang;
				$mail->headerType = 'default';
				
				$mail->setSubject( sprintf($this->_helper->Translate('orderHasBeenCanceled'), $pedido->idPedido) );
				$mail->setScriptHtml("order-canceled-commerce-{$this->lang}.phtml", 'layout-html');		
		
				$mailer->queue( $mail, Delivery_Model_Mailer::PRIORITY_HIGH);
				
				unset( $pedido );
			}
		
			
		echo "Terminado";	
			
//		} catch (Delivery_Model_Exception $e){
//			$this->getHelper('Log')->exception( $e );
//		}
//		catch (Zend_Exception $e){
//			$this->getHelper('Log')->exception( $e );
//		}
		
	}
	
	
}